﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using MaxStudio.Concrete.DBUtility;
using MaxStudio.Concrete.Server.Dao;

namespace MaxStudio.Concrete.Server.Interface
{
    interface IFunctionGroup
    {
        #region FunctionGroup

        OperationResult<List<tb_FunctionGroup>> getAllFunctionList(int currentPage, int PageSize, out int totalPage);

        OperationResult<tb_FunctionGroup> craeteFunctionGroup(tb_FunctionGroup instance);

        OperationResult<tb_FunctionGroup> modifyFunctionGroup(tb_FunctionGroup instance);

        OperationResult<tb_FunctionGroup> deleteFunctionGroup(tb_FunctionGroup instance);

        OperationResult<List<tb_FunctionGroup>> getFunctionGroupById(int id);

        #endregion

        #region FunctionGroupMapping

        OperationResult<List<tb_Mapping_FunctionGroup>> getFunctionGroupMappingByGroupId(int GroupId);

        OperationResult<tb_Mapping_FunctionGroup> createFunctionGroupMapping(tb_Mapping_FunctionGroup instance);

        OperationResult<tb_Mapping_FunctionGroup> deleteFunctionGroupMapping(int GroupId);

         #endregion
    }
}
